package com.qingzhou.schedule;

import com.qingzhou.system.service.ISysConfigService;
import org.noear.solon.annotation.Component;
import org.noear.solon.annotation.Inject;
import org.noear.solon.scheduling.annotation.Async;
import org.noear.solon.scheduling.annotation.Scheduled;

/**
 * 任务调度（计划任务 + 异步）
 * @author xm
 */
//@Component
public class QzTask {

    @Inject
    ISysConfigService sysConfigService;

    /**
     * 计划任务（定时任务）
     */
    @Scheduled(fixedRate = 1000 * 3)
    public void job001() {
        System.out.println("我是 job001 （3s）");
    }

    /**
     * 计划任务（cron表达式）
     */
    @Scheduled(cron = "0/10 * * * * ? *")
    public void job002() {
        System.out.println("我是 job002 （0/10 * * * * ? *）");
//        sysConfigService.doSomething();
    }

    /**
     * 计划任务（cron表达式 + 时区）
     */
    @Scheduled(cron = "0/10 * * * * ? *", zone = "Asia/Shanghai")
    public void job003() {
        System.out.println("我是 job003 （0/10 * * * * ? *）");
    }


    /**
     * 异步
     */
    @Async
    public void job004() {
        System.out.println("我是 job004 异步");
    }

}
